package Test04;

//异常作用2
public class Test04 {
    public static void main(String[] args) {
        /*
            异常作用一:异常是用来查询bug的关键参考信息
            异常作用二:异常可以作为方法内部的一种特殊返回值，以便通知调用者底层的执行情况
        */

        //1、创建学生对象
        Student04 s1 = new Student04();
        //年龄：设定年龄范围为18~40岁
        s1.setAge(50);//抛出异常，调用出就知道50赋值失败
                      //选择1：自己悄悄处理
                      //选择2：（默认）打印在控制台上
    }
}

class Student04 {
    private String name;
    private int age;

    public Student04() {
    }

    public Student04(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     *
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     *
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     *
     * @return age
     */
    public int getAge() {
        return age;
    }

    /**
     * 设置
     *
     * @param age
     */
    public void setAge(int age) {
        if (age < 18 || age > 40) {
            //System.out.println("年龄超出范围");
            //抛出异常
            throw new RuntimeException();
        } else {
            this.age = age;
        }
    }

    public String toString() {
        return "Student04{name = " + name + ", age = " + age + "}";
    }
}
